﻿
(function () {
    var teamparcel = {
        init: function () {
            var fancy;//白彩统包的全局变量1是散货白钻  2为彩
            //var first;//首次加载参数
            var scrollToph;
            this.getRate();
            this.bindEvents();
            this.loadParcel();
        },
        bindEvents: function () {
            var self = this;
            //切换白彩钻
            $(".chang-box span").on("click", function () {
                self.changeParcel($(this));
            });
            //显示筛选框
            $(".show-dia-term-box-btn").on("click", function () {
                self.showTerm();
            });
            //点击小图片
            $('.product-img img').on("click", function () {
                $(this).toggleClass('min');
                $(this).toggleClass('max');
            });
            //其他筛选条件点击添加样式、可多选
            $(".term span").on("click", function () {
                self.termChoose($(this));
            });
            //取消筛选
            $(".cancel-term-dia-btn,.cancel-order-term-btn").on("click", function () {
                self.resetTerm();//重置筛选框
                self.hideTerm();//隐藏筛选框
            });
            //重置筛选
            $(".reset-term-dia").on("click", function () {
                self.resetTerm();//重置筛选框
            });
            //确定筛选
            $(".save-dia-term-btn").on("click", function () {
                self.loadParcel();//获取筛选框里的参数
                self.hideTerm();//隐藏筛选框
            })
            //显示详情
            $(document).on("click", ".product-href", function () {
                self.showDetail($(this));
            });
            //关闭钻石详情页面
            $(".close-detail-btn").on("click", function () {
                self.closeDetail();
            });
            //筛选点击重量时，重量框的值,只选择一个
            $(".p-weight span").click(function () {
                self.getWeight($(this));
            });
            //手动输入重量时移出选中的重量
            $(".weight-input").keypress(function () {
                $(".p-weight span").removeClass("active");//移除选中的重量的样式
            });
            //显示大图
            $(document).on("click", ".show-bigImg", function () {
                self.showBigImg($(this));
            });
            //关闭大图
            $(document).on("click", ".max", function () {
                $(".big-img-bg").hide();
            });
        },
        //获取重量值
        getWeight: function ($this) {
            var choose = $this.hasClass("active");
            if (choose) {
                $this.removeClass("active");
                $("#weight-min").val("");
                $("#weight-max").val("");
            } else {
                $this.addClass("active").siblings().removeClass("active");//只能单选
                var weightSelected = $(".p-weight span.active");//选中的重量
                $("#weight-min").val(weightSelected.attr("data-value").split("-")[0]);
                $("#weight-max").val(weightSelected.attr("data-value").split("-")[1]);
            }
        },
        //筛选样式
        termChoose: function ($this) {
            var choose = $this.hasClass("active");//获取该参数是否被选中
            if (choose) {//选中则移除选中样式
                $this.removeClass("active");
            } else {//不选中则添加选中样式
                $this.addClass("active");
            }
        },
        //切换白彩
        changeParcel: function ($this) {
            var self = this;
            $this.addClass("active").siblings().removeClass("active");//添加选中样式
            self.resetTerm();//清空筛选框已选的参数
            var fancyterm = $(".chang-box").find("span.active").attr("data-type");//获取选中裸钻类型，白钻0，彩钻1
            if (fancyterm == 1) {//白钻
                $(".fancy-parcel").hide();//隐藏筛选中专属于彩钻筛选的参数
                $(".white-parcel").show();//显示筛选中专属于白钻筛选的参数
            } else {
                $(".white-parcel").hide();//隐藏筛选框中专属于白钻的参数
                $(".fancy-parcel").show();//显示筛选框中专属于彩钻的参数
            }
            self.loadParcel();//加载散货数据
        },
        //显示筛选框
        showTerm: function () {
            $("header .menu-btn").hide();//顶部的按钮消失
            $(".hide-term-box-btn,.reset-term-btn").show();//顶部换成取消和重置按钮
            $(".term-box").show();//筛选框出现
            $(".term-box").scrollTop(0);
            $("body").css({
                "overflow": "hidden",
                "position": "fixed",
                "top": "0"
            });//底层不可滑动
        },
        //隐藏筛选框
        hideTerm: function () {
            $(".term-box").hide();//筛选框消失
            $(".hide-term-box-btn,.reset-term-btn").hide();//隐藏取消和重置按钮
            $(".menu-btn").show();//菜单按钮出现
            $("body").css({
                "overflow": "auto",
                'position': 'static',
                'top': 'auto'
            });//底层可滑动
            $("body").scrollTop(0);
        },
        //重置筛选框
        resetTerm: function () {
            $(".term span").removeClass("active");//清除其他条件选中的样式
            $(".term input").val("");//清除input框里的值
        },
        //加载汇率
        getRate: function () {
            var request = {};
            request.SysSettingID = 2;//统包全局2
            $.ajax({
                url: "/Team/GetRate",//提交地址
                type: "POST",//提交方式
                data: JSON.stringify(request),
                contentType: "application/json; charset=utf-8",
                success: function (result) {
                    var _result = eval('(' + result + ')');//eval()解析单个json对象
                    $("#_rate").html(_result["data"].Rate);//绑定售出汇率
                }
            });
        },
        //获取筛选参数
        getQueryParameters: function () {
            var result = {};
            result.limit = "10";
            result.useDict = true;
            isSearching = true;
            var pageSize = 1;//500
            //循环找出筛选框里选中的参数
            $(".parcel-term .term").each(function (i, item) {
                var jqControls = $(item);
                var datatype = jqControls.attr("data-type");//参数类型
                if (datatype) {
                    var tmpList = [];
                    if ($(item).find("span.active").length < $(item).find("span").length) {
                        $(item).find("span.active").each(function (j, p) {
                            if ($(p).attr("data-value")) {//如果有data-value值的
                                tmpList.push($(p).attr("data-value"));//将选中的data-value值放入数组
                            }
                            else {
                                tmpList.push($(p).text());//将选中的值放入数组
                            }
                        });
                        result[datatype] = tmpList;
                    }
                }
            });
            result.Category = $(".chang-box").find("span.active").attr("data-type");//获取选中的钻石类型，1散货白钻  2为彩
            fancy = result.Category;//赋值给全局变量
            result.Size = $(".p-weight span.active").attr("data-value");//统包的大小
            if ($("#goodsNum").val() != "")  //为空的话不要这个参数
                result.SN = $("#goodsNum").val();
            return result;//返回参数
        },
        //加载统包
        loadParcel: function () {
            var self = this;
            myApp.showIndicator();//显示加载中
            var p = self.getQueryParameters();//获取参数
            //获取排序
            var sort = $(".filter-box li i[data-sort-direct]");//获取排序框
            if (p && sort.length > 0 && sort.attr("data-sort-direct")) {//参数和排序长度均大于0,且存在data-sort-direct属性
                p["SortColumn"] = sort.attr("data-sort");//获取排序名称，退点或总价
                p["SortDirect"] = sort.attr("data-sort-direct");//获取排序类型，升序或降序
            }
            var requestJson = JSON.stringify(p);
            $.ajax({
                url: "/Customer/GetParcels",
                data: requestJson,
                type: "post",
                contentType: "application/json; charset=utf-8",
                success: function (result) {
                    self.bindingInventory(result);//绑定白钻
                    $("body").scrollTop(0);
                    myApp.hideIndicator();//隐藏加载中
                }
            });
        },
        //绑定数据
        bindingInventory: function (result) {
            var _result = eval('(' + result + ')');//eval()解析单个json对象
            var rate = 0;
            if (_rate || _rate.innerHTML != "") rate = _rate.innerHTML;
            //获取库存成功
            if (_result["msgcode"] == true) {
                //图片	货号	形状	大小	颜色	强度	净度	重量	价格/美元	地区	供应商	汇率	币种/卡	总金额
                _result = _result.msginfo.Data;//object
                var rate = $("#_rate").html();//获取汇率
                if (_result.length > 0) {
                    $(".totalcount").show();
                    $("#totalParcels").html(_result.length);//白钻总数
                    var figures = "";//多行数据
                    for (var i = 0; i < _result.length ; i++) {//_result.length
                        var figcaption = "";//
                        var img = "";//图片
                        var figure = "";//单行
                        //绑定数据
                        figcaption += "<figcaption class='product-parameter' lang='" + _result[i].OriginSN + "'><h3><b class='list-num' style='display:none'>" + (i + 1) + "</b>" +
                        "<b class='shape'>" + ShpaeFormat(_result[i].Shape) + "</b>" +
                        "<b class='size'>" + _result[i].Size + "</b><b class='color'>" + _result[i].Color + "</b><b class='fancy-parcel inten'>" + _result[i].Intensity + "</b>" +//<b class='white-parcel'>" + ParcelsColorFormat(_result[i].Color) + "</b>
                        "<b class='clarity'>" + _result[i].Clarity + "</b><b class='weight'>" + _result[i].Weight + "</b></h3>" +
                        "<div class='product-price'><span>每卡：<b class='cprice'>" + Math.round(rate * _result[i].CustomerPrice) + "</b></span>" +
                        "<span>总价：<b class='totalp'>" + Math.round(rate * _result[i].CustomerPrice * _result[i].Weight) + "</b></span>" +
                        "<div><span>汇率：<b class='rate'>" + rate + "</b></span><span>所在地：<b class='place'>" + convertPlace(_result[i].Place) + "</b></span></div></div></figcaption>";
                        figure += "<figure class='product-list'><div class='product-img'>" + ShowImg(_result[i]) + "</div><a class='product-href'>" +
                        "<b style='display:none' class='other-detail' data-size='" + _result[i].SizeDesc + "' data-color='" + _result[i].ColorDesc + "' data-clar='" + _result[i].ClarityDesc + "' data-remark='" + _result[i].Descript + "'></b>" + figcaption + "</a></figure>";

                        figures += figure;//将单行加到多行
                    }
                    $("#parcels").html(figures);//加入到id为inventory的figures中
                    if (fancy == 1) {//彩钻
                        $(".parType").html("白散");//库存统计的钻石类型为彩钻
                    } else {
                        $(".parType").html("彩散");//为白钻
                    }
                    $(".totalcount").show();//显示库存统计栏
                } else {

                    var figure = "<div class='null-dia-tip'>暂时还没有您要的结果，请重新筛选...</div>"
                    $(".totalcount").hide();
                    $("#parcels").html(figure);//加入到id为customer的table的tbody中
                }
            } else {
                //获取库存失败
                $(".totalcount").hide();
                var figure = "<div class='null-dia-tip'>" + _result["msginfo"] + "</div>";//显示失败消息
                $("#parcels").html(figure);//加入到id为customer的table的tbody中
            }
        },
        //关闭详情
        closeDetail: function () {
            $(".detail-box-bg").hide();//隐藏筛选盒子
            //启用滚动条
            $("body").css({
                "overflow": "auto",
                'position': 'static',
                'top': 'auto'
            });
            $("body").scrollTop(scrollToph);
        },
        //显示详情
        showDetail: function ($this) {
            var self = $this;
            $(".detail-box-bg").show();//显示详情盒子
            $(".parcel-detail").scrollTop(0);//详情盒子回到顶部
            scrollToph = $(document.body).scrollTop();//body设置为fixed之后会飘到顶部，所以要动态计算当前用户所在高度
            //禁止滚动条
            $("body").css({
                "overflow": "hidden",
                'position': 'fixed',
                'top': 0
            });
            var other = self.find(".other-detail");
            if (fancy == 1) {//白色统包
                $(".fancy-parcel").hide();//隐藏彩色统包部分
                $(".white-parcel").show();//显示白色统包部分
                $(".white-detail-box header h2").html("白色统包详情");//顶部的文字改为彩钻详情
                $("#strong").html("");//强度
            } else {//彩色统包
                $(".fancy-parcel").show();//显示彩色统包部分
                $(".white-parcel").hide();
                $(".white-detail-box header h2").html("彩色统包详情");//顶部栏文字为白钻详情
                $("#strong").html(self.find(".inten").html());//强度
            }
            //绑定库存详情值
            $(".p-img").html(self.parent().find(".product-img").html());
            //$(".p-img img").attr("src", $(".p-img img").attr("src").replace("400x400", "1920x1920"));
            $("#ParcelNum").html(self.find(".product-parameter").attr("lang"));//货号
            $("#shape").html(self.find(".shape").html());//形状
            $("#size").html(self.find(".size").html());//大小
            $("#color").html(self.find(".color").html());//白色散货颜色

            $("#weight").html(self.find(".weight").html());//总重
            $("#clarity").html(self.find(".clarity").html());//净度
            $("#sizeDes").html(other.attr("data-size"));//大小描述
            $("#colorDes").html(other.attr("data-color"));//颜色描述
            $("#clarityDes").html(other.attr("data-clar"));//净度描述
            $("#remark").html(other.attr("data-remark"));//备注
            $("#parcelRmb").html(self.find(".cprice").html());//每卡
            $("#totalPrice").html(self.find(".totalp").html());//总价
            $("#place").html(self.find(".place").html());//所在地
        },
        //显示大图
        showBigImg: function ($this) {
            var imgsrc = $this.attr("src").replace("400x400", "1920x1920");
            $(".big-img-bg").show();
            var img = "<img class='max' height='100' src='" + imgsrc + "' alt='包货'/>";
            $(".pinch-zoom").html(img);
            //调用插件
            $('div.pinch-zoom').each(function () {
                new RTP.PinchZoom($(this), {});
            });
        },

    };
    teamparcel.init();
})();

//显示散货图片
function ShowImg(data) {
    if (data) {
        return "<img class='show-bigImg' id=" + data.CreateTime.replaceAll("-", "").replaceAll(":", "").replaceAll(" ", "") + " src='" + data.Images + "' alt='包货'/>"; //
    }
    else
        return "";
}
//批量替换
String.prototype.replaceAll = function (s1, s2) {
    return this.replace(new RegExp(s1, "gm"), s2);
}
//形状格式化(公共JS方法)
function ShpaeFormat(shapeValue) {
    var dic = ["其他", "圆形", "公主方", "祖母绿", "雷迪恩", "椭圆形", "梨形", "马眼形", "心形", "三角形", "垫形", "其他"]
    if (dic.length >= shapeValue && shapeValue > 0) {
        return dic[shapeValue];
    }
    return dic[0];
}
//统包颜色Color
function ParcelsColorFormat(colorValue) {
    if (colorValue == "<N") {
        return "小于N";
    } else {
        return colorValue;
    }
}
//所在地格式化
function convertPlace(_place) {
    var place = _place.toUpperCase();
    switch (place) {
        case "HK": return "香港"; break; case "IND": return "印度"; break; case "BEL": return "比利时"; break;
        case "USA": return "美国"; break; case "UAE": return "阿联酋"; break; case "TL": return "泰国"; break;
        case "JPN": return "日本"; break; case "UK": return "英国"; break; case "ISR": return "以色列"; break;
        case "GIA": return "实验室"; break; case "CHN": return "中国"; break; case "SZ": return "深圳"; break;
        case "SHENZHEN": return "深圳"; break; case "SHANGHAI": return "上海"; break; case "SH": return "上海"; break;
        case "BEIJING": return "北京"; break; case "BJ": return "北京"; break; case "GUANGZHOU": return "广州"; break;
        case "GZ": return "广州"; break; case "HANGZHOU": return "杭州"; break; case "HZ": return "杭州"; break;
        default: return _place; break
    }
}